package com.mmy.controller.line;

import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.mmy.domain.line.TLinePlace;
import com.mmy.domain.sys.TSysUser;
import com.mmy.service.impl.line.LinePlaceServiceImpl;



/**
 * 类的介绍：基础数据
 *
 * @author shangzl
 * @date 创建日期：2020-07-23
 * @version 1.0
 */

@Controller
public class LinePlaceController {

	@Autowired
	LinePlaceServiceImpl linePlaceServiceImpl;

	/**
	 * 函数功能说明：跳转到集合地点
	 *
	 * @param 参数说明 tLineBase
	 * @return 返回值说明 jsp页面
	 * @author 创建人 shangzl 修改人 shangzl
	 * @date 创建日期 2020-07-24 修改日期 2020.11.18
	 */
	@RequestMapping(value = "/place")
	public String toPlace(Model model, HttpSession session) {
	
			TSysUser tSysUser = (TSysUser) session.getAttribute("tSysUser");
			List<TLinePlace> lstLinePlace = linePlaceServiceImpl.findByOrgID(tSysUser.getOrgID());
			model.addAttribute("lstLinePlace", lstLinePlace);
			return "webbackground/tourist/Place";

	}

	/**
	 * 函数功能说明：跳转创建集合地点
	 *
	 * @param 参数说明 tLineBase
	 * @return 返回值说明 jsp页面
	 * @author 创建人 shangzl 修改人 shangzl
	 * @date 创建日期 2020-07-24 修改日期 2020.11.18
	 */
	@RequestMapping(value = "/createplace")
	public String toCreatePlace() {
		return "webbackground/touristroutemanagement/CreatePlace";
	}

	/**
	 * 函数功能说明： 新建集合地点
	 *
	 * @param 参数说明
	 * @return 返回值说明 jsp页面
	 * @throws 异常处理说明
	 * @author 创建人 shangzl 修改人 liys
	 * @date 创建日期 2020.11.18 修改日期 2021.01.22
	 */

	@RequestMapping(value = "/savecreateplace")
	public String saveCreatePlace(TLinePlace tLinePlace, HttpSession session){
		
		TSysUser tSysUser = (TSysUser) session.getAttribute("tSysUser");
		String strPlaceName = tLinePlace.getPlaceName();
//		Map<String,Object> ret = new HashMap<String,Object>();
//		try {
//			Boolean flag = linePlaceServiceImpl.save(strPlaceName, tSysUser);
//			if(flag == true) {
//				ret.put("msg", "ok");
//			}else {
//				ret.put("msg", "no");
//			}
//		}catch(Exception e){
//			ret.put("errMsg", e.getMessage());
//		}
//		return JSONObject.toJSONString(ret);
		linePlaceServiceImpl.save(strPlaceName, tSysUser);
		return "redirect:place";
	}

	/**
	 * 函数功能说明： 删除集合地点
	 *
	 * @param 参数说明
	 * @return 返回值说明 jsp页面
	 * @throws 异常处理说明
	 * @author 创建人 shangzl 修改人 shangzl
	 * @date 创建日期 2020-07-29 修改时间 2020.11.18
	 */

	@PostMapping("/delplace")
	@ResponseBody
	public String delPlace(String checkList) {

		String[] arrChecked = checkList.split(",");
		List<Integer> lstPlaceID = new ArrayList<>();
		for (String str : arrChecked) {
			lstPlaceID.add(Integer.parseInt(str));
		}
		linePlaceServiceImpl.delPlace(lstPlaceID);
		return "webbackground/touristroutemanagement/Place";
	}

	/**
	 * 函数功能说明： 跳转修改集合地点
	 *
	 * @param 参数说明
	 * @return 返回值说明 jsp页面
	 * @throws 异常处理说明
	 * @author 创建人 shangzl 修改人 shangzl
	 * @date 创建日期 2020-07-29 修改时间 2020.11.18
	 */

	@RequestMapping(value = "/toupdateplace")
	public String toUpdatePlace(HttpServletRequest request, Model model) {

		int iPlaceID = Integer.parseInt(request.getParameter("iPlaceID"));

		TLinePlace tLinePlace = linePlaceServiceImpl.findByPlaceID(iPlaceID);
		model.addAttribute("tLinePlace", tLinePlace);
		return "webbackground/touristroutemanagement/UpdatePlace";

	}

	/**
	 * 函数功能说明： 修改集合地点
	 *
	 * @param 参数说明
	 * @return 返回值说明 jsp页面
	 * @throws 异常处理说明
	 * @author 创建人 shangzl 修改人 shangzl
	 * @date 创建日期 2020-07-29 修改时间 2020.11.18
	 */
	@RequestMapping(value = "/updateplace")
	public String updatePlace(TLinePlace tLinePlace, HttpSession session){

		TSysUser tSysUser = (TSysUser) session.getAttribute("tSysUser");	
		linePlaceServiceImpl.save(tLinePlace,tSysUser);
		return "redirect:place";
	}

	/**
	 * 函数功能说明： 查询集合地点
	 *
	 * @param 参数说明
	 * @return 返回值说明 jsp页面
	 * @throws 异常处理说明
	 * @author 创建人 shangzl 修改人 shangzl
	 * @date 创建日期 2020-07-13 修改时间 2020.11.18
	 */
	@RequestMapping(value = "/queryplace")
	public String queryPlace(HttpServletRequest request, Model model, HttpSession session) {
		TSysUser tSysUser = (TSysUser) session.getAttribute("tSysUser");

		String strPlaceName = request.getParameter("strPlaceName");
		if (strPlaceName == "") {
			List<TLinePlace> lstLinePlace = linePlaceServiceImpl.findByOrgID(tSysUser.getOrgID());
			model.addAttribute("lstLinePlace", lstLinePlace);
			model.addAttribute("strPlaceName", strPlaceName);
			return "webbackground/touristroutemanagement/Place";
		} else {
			List<TLinePlace> lstLinePlace = linePlaceServiceImpl.findByPlaceName(strPlaceName);
			model.addAttribute("lstLinePlace", lstLinePlace);
			model.addAttribute("strPlaceName", strPlaceName);
			return "webbackground/touristroutemanagement/Place";
		}

	}

}
